perm filename ADDCLC.ADD[HAL,HE] blob
sn#165113 filedate 1975-06-20 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ADDCLC
C00004 ENDMK
Cā;
; ADDCLC
; Adds a calculator cell ADD.CLC to the graph node ADD.ND.
ROUTINE ADDCLC,<ADC.GN,ADC.IPC>;
MOV #CLCCSZ,R0 ;
JSR PC,GTFREE ;R0 ā LOC[new calculator cell]
MOV DLC.GN(RF),R1 ;R1 ā Graph node in question
MOV NXTCLC(R1),NXTCLC(R0);Link in the new one
MOV R0,GNCLCS(R1) ;
;Finish this later
ROUTINE ADDCLC,<ADD.ND,ADD.CLC>
MOV R2,-(SP) ;SAVE A REGISTER
MOV R3,-(SP) ;SAVE A REGISTER
MOV ADD.ND(RF),R3 ;THE NODE
MOV ADD.CLC(RF),R1 ;THE CALCULATOR
MOV GNCLCS(R3),NXTCLC(R1) ;CURRENT CALCULATOR LIST
MOV NEEDED(R1),R2 ;LIST OF NEEDED NODES
BEQ ACLC.X ;ALL DONE
ACLC.1: JSR PC,GET2WD ;GET A TWO-WORD CELL
MOV R3,DATUM(R0) ;THIS NODE IS NOW A DEPENDENT OF
MOV DATUM(R2),R1 ;THE NEEDED NODE
MOV GNDEPS(R1),LINKF(R0) ;ADD IT TO THE DEPENDENTS LIST
MOV R0,GNDEPS(R1) ;
MOV LINKF(R2),R2 ;NEXT NEEDED NODE
BNE ACLC.1 ;
ACLC.X: MOV (SP)+,R3 ;RESTORE ACS
MOV (SP)+,R2
RTS R5